package com.hspedu.string_;

/**
 * @author DL5O
 * @version 1.0
 */
public class StringMethod02 {
    public static void main(String[] args) {
        //1.toUpperCase 转换成大写
        String s = "Hello";
        System.out.println(s.toUpperCase());//HELLO

        //2.toLowerCase
        System.out.println(s.toLowerCase());

        //3.concat拼接字符串
        String s1 = "宝玉";
        s1 = s1.concat("林黛玉").concat("together");
        System.out.println(s1);

        //4.replace 替换字符串中的字符，返回一个替换后的对象，但s1本身并没有被替换
        //将s1中所有的宝玉替换成薛宝钗
        String s2;
        s2 = s1.replace("宝玉","薛宝钗");
        System.out.println(s1);//宝玉林黛玉together
        System.out.println(s2);//薛宝钗林黛玉together


        //5.split 分割字符串, 对于某些分割字符，我们需要 转义比如 | \\
        String poem = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";
        //老韩解读：
        // 1. 以 , 为标准对 poem 进行分割 , 返回一个数组
        // 2. 在对字符串进行分割时，如果有特殊字符，需要加入 转义符 \

        String[] split = poem.split(",");
        poem = "E:\\aaa\\bbb";
        split = poem.split("\\\\");
        System.out.println("==分割后内容===");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
        }

        //7.compareTo 比较两个字符串的大小，如果前者大
        //  则返回正数，后者大，则返回负数，如果相等，返回 0
        // (1)如果长度相同，内容也相同，返回0
        // (2)如果长度相同或者不相同，但是在比较适时，可以区分大小
        //    返回的是不同值的差值
        // (3)如果字符串长度不一样，其他字符都一样，那么就把用前面字符串的长度减去后面字符串的长度
        String a = "jack123";// len = 3
        String b = "jack";// len = 4
        System.out.println(a.compareTo(b));// 返回值是 'c' - 'a' = 2;

        String name = "john";
        int age = 10 ;
        double score = 98.3/3;
        char gender = '男';
        //将所有的信息都拼接在一个字符串. String info =
        String info ="我的姓名是" + name + "年龄是" + age + ",成绩是" + score + "性别是" + gender + "。希望大家喜欢我！";
        System.out.println(info);

        //注意：
        //   保留小数位会进行四舍五入
        String formatStr ="我的姓名%5s 年龄%3d ,成绩是%.2f,我的性别%2c.希望大家喜欢我";
        String info2 =String.format(formatStr,name,age,score,gender);
        System.out.println(info2);
    }
}
